home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / S / CUCDprefs.rexx < prev    next >
OS/2 REXX Batch file  |  1997-07-21  |  6KB  |  154 lines

  1. /* Load, save CUCD prefs for CUCDprefs.mrx */
  2.  
  3. VerStr = '$VER: CUCDprefs 1.0 (19.6.97) Neil Bothwick'
  4. VerStr = subword(VerStr,2)
  5.  
  6. options results
  7. arg action
  8.  
  9. PrefsFile = 'IDer.prefs'
  10. DefPrefs  = 'CUCD:S/IDer.prefs'
  11. types = 'IFF GIF JPG ANM MPG SVX WAV S3M XMM MED MOD MP3 MID AGD HTM LHA DEF'
  12. address CDPREFS
  13.  
  14. /* ;;; Select action */
  15. select
  16.     when action = 'SAVE' then do
  17.         call SavePrefs()
  18.         'quit'
  19.         end
  20.     when action = 'USE'  then do
  21.         call UsePrefs()
  22.         'quit'
  23.         end
  24.     when action = 'READ' then do
  25.         Prefs = 'ENV:'PrefsFile
  26.         call LoadPrefs()
  27.         end
  28.     when action = 'LOAD' then do
  29.         Prefs = 'ENVARC:'PrefsFile
  30.         call LoadPrefs()
  31.         end
  32.     when action = 'RESTORE' then do
  33.         Prefs = DefPrefs
  34.         call LoadPrefs()
  35.         end
  36.     when action = 'ABOUT' then call AboutPrefs()
  37.     otherwise nop
  38.     end
  39. ;;;
  40. exit
  41.  
  42. /* ;;; Load prefs */
  43. LoadPrefs:
  44.     if ~exists(Prefs) then Prefs = DefPrefs
  45.  
  46.     if ~open(prefs,Prefs,'R') then do
  47.     request ID FAIL title '"CU Amiga CD preferences"' gadgets 'OK' '"Failed to read preferences file"'
  48.         quit
  49.         exit
  50.         end
  51.  
  52.     PrefsLine = readln(prefs)
  53.     setvar CfgVersion PrefsLine
  54.  
  55.     do until eof(prefs)
  56.         PrefsLine = readln(prefs)
  57.         if PrefsLine = '' then iterate
  58.         if pos(left(PrefsLine,1),';#') > 0 then iterate
  59.         PrefsLine = substr(PrefsLine,pos('CLASS=',upper(PrefsLine)) + 6)
  60.         if left(PrefsLine,1) = '"' then parse var Prefsline '"' Class '"' PrefsLine /*Class = substr(PrefsLine,2,pos('"',PrefsLine,2) - 2)*/
  61.         else parse var PrefsLine Class PrefsLine
  62.         PrefsLine = strip(PrefsLine)
  63.         parse var PrefsLine Defn 'ACTION=' Action
  64.         interpret Class'.cmd="'word(Action,1)'"'
  65.         interpret Class'.arg="'subword(Action,2)'"'
  66.         end
  67.  
  68.     popasl ID IFF0 CONTENT IFF_Picture.cmd
  69.     popasl ID GIF0 CONTENT GIF_Picture.cmd
  70.     popasl ID JPG0 CONTENT JPEG_Picture.cmd
  71.     popasl ID ANM0 CONTENT ANIM.cmd
  72.     popasl ID MPG0 CONTENT MPEG_Video.cmd
  73.     string ID IFF1 CONTENT IFF_Picture.arg
  74.     string ID GIF1 CONTENT GIF_Picture.arg
  75.     string ID JPG1 CONTENT JPEG_Picture.arg
  76.     string ID ANM1 CONTENT ANIM.arg
  77.     string ID MPG1 CONTENT MPEG_Video.arg
  78.     popasl ID SVX0 CONTENT IFF_Sample.cmd
  79.     popasl ID WAV0 CONTENT WAV_Sample.cmd
  80.     popasl ID S3M0 CONTENT S3M_Module.cmd
  81.     popasl ID XMM0 CONTENT XM_Module.cmd
  82.     popasl ID MED0 CONTENT MED_Module.cmd
  83.     popasl ID MOD0 CONTENT Module.cmd
  84.     popasl ID MP30 CONTENT MPEG_Audio.cmd
  85.     popasl ID MID0 CONTENT MIDI.cmd
  86.     string ID SVX1 CONTENT IFF_Sample.arg
  87.     string ID WAV1 CONTENT WAV_Sample.arg
  88.     string ID S3M1 CONTENT S3M_Module.arg
  89.     string ID XMM1 CONTENT XM_Module.arg
  90.     string ID MED1 CONTENT MED_Module.arg
  91.     string ID MOD1 CONTENT Module.arg
  92.     string ID MP31 CONTENT MPEG_Audio.arg
  93.     string ID MID1 CONTENT MIDI.arg
  94.     popasl ID AGD0 CONTENT Guide.cmd
  95.     popasl ID HTM0 CONTENT HTML.cmd
  96.     popasl ID LHA0 CONTENT LhA_Archive.cmd
  97.     popasl ID DEF0 CONTENT Default.cmd
  98.     string ID AGD1 CONTENT Guide.arg
  99.     string ID HTM1 CONTENT HTML.arg
  100.     string ID LHA1 CONTENT LhA_Archive.arg
  101.     string ID DEF1 CONTENT Default.arg
  102.  
  103.     return
  104. ;;;
  105. /* ;;; Use prefs */
  106. UsePrefs:
  107.     do i = 1 to words(types)
  108.         type = word(types,i)
  109.         interpret 'popasl ID' type'0'
  110.         interpret type '= result'
  111.         interpret 'string ID' type'1'
  112.         interpret type '= strip('type' result)'
  113.         end
  114.  
  115.     if ~open(prefs,'ENV:'PrefsFile,'W') then request ID FAIL title '"CU Amiga CD preferences"' gadgets 'OK' '"Failed to save preferences"'
  116.     else do
  117.         call writeln(prefs,'# IDer Prefs file - created by CUCD prefs'||'0a'x)
  118.         call writeln(prefs,'# IDer  --  © 1995 Eclipse Software'||'0a'x)
  119.  
  120.         call writeln(prefs,'CLASS=IFF_Picture OFFSET=0,"FORM????ILBM"  ACTION='IFF)
  121.         call writeln(prefs,'CLASS=GIF_Picture SUFFIX=.GIF  OFFSET=0,"GIF87a"  ACTION='GIF)
  122.         call writeln(prefs,'CLASS=JPEG_Picture OFFSET=6,4A464946   ACTION='JPG)
  123.         call writeln(prefs,'CLASS=ANIM SUFFIX=.ANIM  OFFSET=0,"FORM????ANIM"  ACTION='ANM)
  124.         call writeln(prefs,'CLASS=MPEG_Video SUFFIX=.MPG  ACTION='MPG)
  125.         call writeln(prefs,'CLASS=Module SUFFIX=.MOD  NAME=MOD.#?  OFFSET=1080,"M.K."  FLAGS=T  ACTION='MOD)
  126.         call writeln(prefs,'CLASS=MPEG_Audio NAME=(#?.MP3|#?.MP2) FLAGS=I ACTION='MP3)
  127.         call writeln(prefs,'CLASS=MIDI SUFFIX=.MID OFFSET=0,"MThd" ACTION='MID)
  128.         call writeln(prefs,'CLASS=S3M_Module SUFFIX=.S3M  NAME=S3M.#?  OFFSET=44,"SCRM"  FLAGS=T  ACTION='S3M)
  129.         call writeln(prefs,'CLASS=XM_Module SUFFIX=.XM OFFSET=0,"Extended Module:" FLAGS=I ACTION='XMM)
  130.         call writeln(prefs,'CLASS=MED_Module SUFFIX=.MED  NAME=MED.#?  OFFSET=0,"MMD?"  ACTION='MED)
  131.         call writeln(prefs,'CLASS=IFF_Sample OFFSET=0,"FORM????8SVX"  ACTION='SVX)
  132.         call writeln(prefs,'CLASS=WAV_Sample OFFSET=0,"RIFF????WAVE"  ACTION='WAV)
  133.         call writeln(prefs,'CLASS=Guide SUFFIX=.GUIDE  OFFSET=0,"@database"  FLAGS=I  ACTION='AGD)
  134.         call writeln(prefs,'CLASS=HTML NAME=(#?.html|#?.htm) FLAGS=I  ACTION='HTM)
  135.         call writeln(prefs,'CLASS=LhA_Archive NAME=(#?.LhA|?#.Lzh)  OFFSET=2,"-lh?-"  ACTION='LHA)
  136.         call writeln(prefs,'CLASS=Default ACTION='DEF)
  137.         call writeln(prefs,'0a'x||'#END')
  138.         call close(prefs)
  139.         end
  140.     return
  141. ;;;
  142. /* ;;; Save prefs */
  143. SavePrefs:
  144.     call UsePrefs()
  145.     address command 'copy >NIL: ENV:'PrefsFile 'ENVARC:'
  146.     return
  147. ;;;
  148. /* ;;; Show about requester */
  149. AboutPrefs:
  150.     request title '"CU Amiga CD preferences"' gadgets '"OK"' string VerStr'\nCreated using MUIRexx 3.0'
  151.     return
  152. ;;;
  153.  
  154.